package com.ruoyi.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.domain.ClassInfo;
import com.ruoyi.business.domain.bo.ClassInfoBo;
import com.ruoyi.business.domain.vo.ClassInfoVo;
import com.ruoyi.business.domain.vo.UserVo;
import com.ruoyi.common.core.domain.model.InternalObjectPage;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * @author 最爱喝兽奶
 * @create 2022/9/2
 **/
public interface IClassInfoService extends IService<ClassInfo> {

    /**
     * 分页查询班级列表信息
     * @param bo
     * @return
     */
    TableDataInfo<ClassInfoVo> queryClassListByPage(ClassInfoBo bo);

    /**
     * 查询课程的映射关系
     * @param refColumn
     * @param pageSize
     * @param currentPage
     * @param filterContent
     * @param filterId
     * @return
     */
    InternalObjectPage selectRefTableByName(String refColumn, Integer pageSize, Integer currentPage, String filterContent, String filterId);

    /**
     * 新增班级基本信息
     * @param bo
     */
    void insertClassInfo(ClassInfoBo bo);

    /**
     *
     * @param id
     * @return
     */
    ClassInfoVo getClassInfo(String id);

    /**
     * 修改课程信息
     * @param bo
     */
    void updateClassInfo(ClassInfoBo bo);

    /**
     * 删除课程信息
     * @param id
     */
    void deleteClassInfo(String id);

    /**
     * 根据传入的班级id查询出所有的班级成员信息
     * @param id
     * @return
     */
    List<UserVo> queryMemberByClassId(String id);
}
